home *** CD-ROM | disk | FTP | other *** search
/ MASPC 1 / MASPC_1.iso / Demos / Demo DIV / DATA / PRG / TUTOR / TUTOR7.PRG < prev   
Encoding:
Text File  |  1997-12-03  |  3.3 KB  |  103 lines

  1. //----------------------------------------------------------------------
  2. // Programa: Tutorial 7
  3. // Autor:  Daniel Navarro
  4. // Fecha:  20/09/97
  5. //----------------------------------------------------------------------
  6.  
  7. PROGRAM Tutorial_7;
  8.  
  9. GLOBAL
  10.     // Tablas con los códigos de los gráficos en 16 posiciones
  11.     // Códigos de la silla
  12.     silla[]=16,100,101,101,103,104,105,106,107,
  13.             108,109,110,111,112,113,114,115;
  14.     // Códigos del baul o cofre
  15.     cofre[]=16,200,201,202,203,204,205,206,207,
  16.             208,209,210,211,212,213,214,215;
  17.     // Códigos de la mesa
  18.     mesa[]=16,300,301,302,303,304,305,306,307,
  19.             300,301,302,303,304,305,306,307;
  20.     // Códigos de la percha
  21.     percha[]=16,400,401,402,403,400,401,402,403,
  22.             400,401,402,403,400,401,402,403;
  23.     // Códigos del armario
  24.     armario[]=16,500,501,502,503,504,505,506,507,
  25.             508,509,510,511,512,513,514,515;
  26.     // Códigos del sillón
  27.     sillón[]=16,600,601,602,603,604,605,606,607,
  28.             608,609,610,611,612,613,614,615;
  29.  
  30. BEGIN
  31.     // Se selecciona el modo de video
  32.     set_mode(m640x480);
  33.  
  34.     // Carga el archivo de gráficos necesarios en el juego
  35.     load_fpg("tutorial\tutor7.fpg");
  36.  
  37.     // Enciende la pantalla
  38.     fade_on();
  39.  
  40.     m7.camera=id;       // Hace que la cámara siga a este proceso (el principal)
  41.     m7.height=512;      // Altura de la cámara
  42.     m7.distance=640;    // Distancia de la cámara al punto de observación
  43.     // Inicia el modo 7 o de plano abatido
  44.     start_mode7(0,0,1,0,0,128);
  45.     // Pone un texto explicativo
  46.     write(0,320,0,1,"Utilice los cursores para mover la cámara");
  47.  
  48.     // Crea los objetos tipo mesa
  49.     objeto(&mesa,128,128,0,600);
  50.     objeto(&mesa,600,440,0,600);
  51.     objeto(&mesa,600,340,0,600);
  52.  
  53.     // Crea los objetos tipo silla
  54.     objeto(&silla,64,64,-pi/2,400);
  55.     objeto(&silla,192,64,-pi/2,400);
  56.     objeto(&silla,64,192,pi/2,400);
  57.     objeto(&silla,192,192,pi/2,400);
  58.  
  59.     // Crea los objetos tipo armario
  60.     objeto(&armario,32,384,0,600);
  61.     objeto(&armario,384,32,-pi/2,600);
  62.  
  63.     // Crea los objetos tipo baul
  64.     objeto(&cofre,64,440,pi/2,800);
  65.     objeto(&cofre,128,440,pi/2,800);
  66.     objeto(&cofre,384,440,pi/2,800);
  67.  
  68.     // Crea el objeto tipo percha
  69.     objeto(&percha,192,440,0,600);
  70.  
  71.     // Crea los objetos tipo sillón
  72.     objeto(&sillón,512,32,-pi/2,400);
  73.     objeto(&sillón,600,128,-pi,400);
  74.  
  75.     // Pone las coordenadas de este proceso que es la camara
  76.     x=320; y=240;
  77.     LOOP
  78.         // Si se pulsan los cursores se varia el angulo de la camara (se mueve)
  79.         if (key(_right)) angle-=pi/8; END
  80.         if (key(_left)) angle+=pi/8; END
  81.         FRAME;
  82.     END
  83. END
  84.  
  85. //----------------------------------------------------------------------
  86. // Proceso objeto
  87. // Visualiza todos los objetos del tutorial
  88. // Entradas: xgraph = Puntero a la tabla de gráficos del objeto
  89. //           x,y    = Coordenadas
  90. //           angle  = Angulo del objeto
  91. //           size   = Tamaño de objeto en tanto por ciento
  92. //----------------------------------------------------------------------
  93.  
  94. PROCESS objeto(xgraph,x,y,angle,size)
  95.  
  96. BEGIN
  97.     z=-16;          // Elige la profundidad
  98.     ctype=c_m7;     // Introduce al proceso dentro del modo 7
  99.     LOOP
  100.         FRAME;      // Muestra el gráfico
  101.     END
  102. END
  103.